package nil.ed.simulator.request.guice;

import com.google.inject.AbstractModule;
import nil.ed.simulator.request.output.IOutput;
import nil.ed.simulator.request.output.impl.CookieOutput;
import nil.ed.simulator.request.parser.IParser;
import nil.ed.simulator.request.parser.impl.StandardParser;
import nil.ed.simulator.request.parser.impl.TestParser;
import nil.ed.simulator.request.scheduler.Scheduler;
import nil.ed.simulator.request.scheduler.impl.PriorityScheduler;

/**
 * @author lidelin.
 */
public class CoreModule extends AbstractModule {

    @Override
    protected void configure() {
//        bind(IParser.class).to(TestParser.class);
        bind(IParser.class).to(StandardParser.class);
        bind(Scheduler.class).toInstance(new PriorityScheduler("Global-Scheduler", 4));
        bind(IOutput.class).to(CookieOutput.class);
    }
}
